"""
日志相关代码
"""

import logging.handlers
from config import BASE_DIR, LOG_LEVEL


# 定义 初始化日志代码 相关函数
def init_log_config():
    # 创建日志器对象
    logger = logging.getLogger()

    # 设置日志级别 -- 大于info级别，都写入 日志文件
    logger.setLevel(LOG_LEVEL)

    # 创建日志处理器对象（控制台）
    console_handler = logging.StreamHandler()

    # 创建日志处理器对象（日志文件）
    file_path = BASE_DIR + '/log/imp.log'
    file_handler = logging.handlers.TimedRotatingFileHandler(file_path, when='midnight', interval=1, backupCount=7,encoding='UTF-8')

    # 创建格式化器
    fmt_str = '%(asctime)s %(levelname)s [%(name)s] [%(filename)s(%(funcName)s:%(lineno)d)] - %(message)s'
    fmt = logging.Formatter(fmt_str)

    # 设置使用格式化器
    console_handler.setFormatter(fmt)
    file_handler.setFormatter(fmt)

    # 添加到日志中
    logger.addHandler(console_handler)
    logger.addHandler(file_handler)
